home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / UUCP / UUCon / Source / ProgressView.m < prev    next >
Text File  |  1992-11-10  |  2KB  |  126 lines

  1. #import "ProgressView.h"
  2. #import <appkit/Cell.h>
  3. #import <dpsclient/psops.h>
  4.  
  5. @implementation ProgressView
  6.  
  7. - initFrame:(const NXRect *)frameRect
  8. {
  9.     [super initFrame:frameRect];
  10.     total = MAXSIZE;
  11.     stepSize = DEFAULTSTEPSIZE;
  12.     return self;
  13. }
  14.  
  15. - drawSelf:(const NXRect *)rects :(int)rectCount
  16. {
  17.     PSsetgray(NX_LTGRAY);
  18.     NXRectFill(&bounds); 
  19.     if (ratio > 0) {
  20.         NXRect r = bounds;  
  21.         r.size.width = bounds.size.width * ratio; 
  22.         PSsetgray(NX_DKGRAY);
  23.         NXRectFill(&r); 
  24.     }
  25.     PSsetgray(NX_BLACK);
  26.     NXFrameRect(&bounds);
  27.     return self;
  28. }
  29.  
  30. - setStepSize:(int)value
  31. {
  32.     stepSize = value;
  33.     return self;
  34. }
  35.  
  36. - (int)stepSize
  37. {
  38.     return stepSize;
  39. }
  40.  
  41. - setTotalSize: (int)value
  42. {
  43.    total = value;
  44.    return self;
  45. }
  46.  
  47. - (int)totalSize
  48. {
  49.    return total;
  50. }
  51.  
  52.  
  53. - setRatio:(float)newRatio
  54. {
  55.     if (newRatio > 1.0) newRatio = 1.0;
  56.     if (ratio != newRatio) 
  57.     {
  58.         ratio = newRatio;
  59.     count = total * ratio;
  60.         [self display];
  61.     }
  62.     return self;
  63. }
  64.  
  65. - takeFloatValueFrom: sender
  66. {
  67.    [self setRatio: [sender floatValue]];
  68.    return self;
  69. }
  70.  
  71.  
  72. - setIntValue: (int) aValue
  73. {
  74.    [self setRatio: (float)aValue/(float)total];
  75.    return self;
  76. }
  77.  
  78. - (int) intValue
  79. {
  80.    return count;
  81. }
  82.  
  83. - increment:sender
  84. {
  85.    [self setRatio:(float)(count + stepSize)/(float)total];
  86.    return self;
  87. }
  88.  
  89. - takeIntValueFrom: sender
  90. {
  91.    [self setIntValue: [sender intValue]];
  92.    return self;
  93. }
  94.  
  95. - (const char *)getInspectorClassName
  96. {
  97.     return "ProgressViewInspector";
  98. }
  99.  
  100. - read:(NXTypedStream*)stream
  101. {
  102.    int readVer;
  103.  
  104.    [super read:stream];
  105.  
  106.    readVer = NXTypedStreamClassVersion(stream, [self name]);
  107.  
  108.    NXReadTypes(stream, "ii", &total, &stepSize);
  109.    
  110.    return self;
  111. }
  112.  
  113. - write:(NXTypedStream*)stream
  114. {
  115.     [super write:stream];
  116.     NXWriteTypes(stream, "ii", &total, &stepSize);
  117.     return self;
  118. }
  119.  
  120. @end
  121.  
  122.  
  123.  
  124.  
  125.  
  126.